#ifndef MCCONFIG_H
#define MCCONFIG_H

#include <QObject>
#include <QString>
#include <string>
#include <QJsonObject>
#include <QFile>
#include <QJsonDocument>
#include <QJsonValue>
#include <QJsonParseError>
#include <iostream>
#include <QMap>
#include <QDebug>
#include <QJsonArray>
/*
 * 当前该配置文件类只适用于解析json文件
 * 要配合Qt库来运行 运行时必须有Qt库
*/

class mCConfig
{
public:

    mCConfig();
    mCConfig(const char * filename);
    mCConfig(QString filename);
    bool open(QFile::OpenModeFlag mode,QJsonDocument& jsonDoc);
    void close();
    bool read();
    bool write(const QString& key,const QJsonValue& jsonvalue);

    ~mCConfig();

    QJsonValue getJsonValueOfKey(const QString& key);
private:
    void appendValue(QString& key,const QJsonValue& jsonvalue);

    QString m_FileName;        //文件路经名
    QMap<QString,QJsonValue>* m_pJsonMap;
    QFile* m_pFile;
};

#endif // MCCONFIG_H
